/*
 * Copyright notice
 */
package LogicaDeNegocio;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.Collection;
import org.apache.log4j.Logger;

/**
 * Class TestClass
 *
 * Test harness class for this project
 *
 * @author Juan Carlos Siverio
 * * @author Anya Marrero
 * * @author Olga Gamberro
 */
public class TestClass {

    // Variable de Instancia para la configuracion de Log4j
    private static Logger logger = Logger.getLogger(TestClass.class);

    /**
     * Entry point for this project
     *
     *
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        Reader reader = null;

        try {
            logger.info("Iniciando carga del archivo ibatis-config.xml");

            reader = Resources.getResourceAsReader("ibatis-config.xml");

            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

            Persona nuevo = new Persona();
            nuevo.setId(18029992);//System.currentTimeMillis()

            nuevo.setNombre("Juan Carlos");
            nuevo.setApellido("Siverio");

            logger.info("Registrando la persona " + nuevo);

            sqlMap.insert("guardarPersona", nuevo);

            Collection<Persona> personas = sqlMap.queryForList("buscarTodasLasPersonas");

            for (Persona p : personas) {
                logger.debug(p);
            }

            Persona otra = (Persona) sqlMap.queryForObject("buscarPersonaPorCodigo", 1);

            logger.debug(otra);

        } catch (SQLException ex) {

            logger.error("Ocurrio un error en la ejecucion de ibatis", ex);
        } catch (IOException ex) {

            logger.error("Ocurrio un error de I/O", ex);
        }
    }
}
